Flutter を使用した Linux アプリの構築
このページでは、構築に特有の考慮事項について説明します。 Flutter を使用した Linux アプリ (シェル統合を含む) 配布用のアプリの準備。
Linuxとの統合
Linux プログラミング インターフェイス、
ライブラリ関数とシステムコールで構成されます。
C 言語と ABI を中心に設計されています。
幸いなことに、Dart は次のことを提供します。d67916c1-6204-425e-98f6-35cbf0aeb7eb、
Dart プログラムを有効にするように設計されています
C ライブラリを効率的に呼び出すことができます。
FFI は、Flutter アプリに次の機能を提供します。
ネイティブメモリを割り当てるmalloc
またcalloc
、
ポインタ、構造体、コールバックのサポート、
および次のような ABI タイプlong
とsize_t
。
C ライブラリの呼び出しの詳細については、
Flutter から、参照Cの相互運用性を使用してdart:ffi
。
多くのアプリは、次のようなパッケージを使用することで恩恵を受けます。 基礎となるライブラリをラップします より便利で慣用的な Dart API を呼び出します。Canonical は一連のパッケージを構築しましたLinux 上で Dart と Flutter を有効にすることに重点を置き、 デスクトップ通知のサポートを含む、 dbus、ネットワーク管理、Bluetooth。
より一般的には、他の多くのパッケージは Linux をサポートします、
などの一般的なパッケージを含むurl_launcher
、shared_preferences
、file_selector
、 とpath_provider
。
Linux アプリの配布の準備
実行可能バイナリは、プロジェクト内の次の場所にあります。build/linux/<build mode>/bundle/
。あなたと一緒に
の実行可能バイナリbundle
ディレクトリがあります
2 つのディレクトリ:
-
lib
必要なものが含まれています.so
ライブラリファイル -
data
アプリケーションのデータ資産が含まれており、 フォントや画像など
これらのファイルに加えて、アプリケーションも
さまざまなオペレーティング システム ライブラリに依存しています。
に対してコンパイルされています。
実行すると完全なリストを表示できますldd
あなたの申請に反して。例えば、
Flutter デスクトップ アプリケーションがあると仮定します。
呼ばれたlinux_desktop_test
、検査することができます
依存するシステム ライブラリは次のとおりです。
$ flutter build linux --release
$ ldd build/linux/release/bundle/linux_desktop_test
このアプリケーションの配布を終了するには
すべてを含める必要がありますbundle
ディレクトリ、
インストールしている Linux システムを確認してください
必要なシステム ライブラリがすべて含まれています。
これは次のように簡単です。
$ sudo apt-get install libgtk-3-0 libblkid1 liblzma5
Linux アプリケーションの公開については、 にスナップストア、 見るLinux アプリケーションをビルドして Snap Store にリリースする。